package com.ruoyi.recycle.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.recycle.domain.IntegralCommodityEvaluate;
import com.ruoyi.recycle.domain.IntegralCommoditySize;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 积分商品对象 integral_commodity
 *
 * @author Wubk
 * @date 2022-05-22
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class IntegralCommodityDTO {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty(name = "id",value = "积分商品id",dataType = "Long")
    private Long id;

    /** 商品名 */
    @Excel(name = "商品名")
    @ApiModelProperty(name = "commodityName",value = "商品名",dataType = "String")
    private String commodityName;

    /** 海报 */
    @Excel(name = "海报")
    @ApiModelProperty(name = "img",value = "海报",dataType = "String")
    private String poster;

    /** 积分 */
    @Excel(name = "积分")
    @ApiModelProperty(name = "integral",value = "积分",dataType = "Long")
    private Long integral;

    /** 积分兑换金额 */
    @Excel(name = "积分兑换金额")
    @ApiModelProperty(name = "integralMoney",value = "积分兑换金额",dataType = "BigDecimal")
    private BigDecimal integralMoney;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(name = "remark",value = "备注",dataType = "String")
    private String remark;

    /** 商品详情 */
    @Excel(name = "商品详情")
    @ApiModelProperty(name = "details",value = "商品详情",dataType = "String")
    private String details;

    /** 兑换方式(1纯积分，2积分+现金) */
    @Excel(name = "兑换方式(1纯积分，2积分+现金)")
    @ApiModelProperty(name = "exchangeType",value = "兑换方式(1纯积分，2积分+现金)",dataType = "String")
    private String exchangeType;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date searchTimeBegin;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date searchTimeEnd;

    /**
     * 更新人
     */
    private String updatedBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date updatedTime;

    private Integer currentPage = 1;

    private Integer pageSize = 10;

    /** 商品分类 */
    @Excel(name = "商品分类")
    @ApiModelProperty(name = "type",value = "商品分类",dataType = "String")
    private String type;

    /** 直接购买金额 */
    @Excel(name = "直接购买金额")
    @ApiModelProperty(name = "directMoney",value = "直接购买金额",dataType = "BigDecimal")
    private BigDecimal directMoney;

    /** 原价 */
    @Excel(name = "原价")
    @ApiModelProperty(name = "originalCost",value = "原价",dataType = "BigDecimal")
    private BigDecimal originalCost;

    /** 邮费 */
    @Excel(name = "邮费")
    @ApiModelProperty(name = "postage",value = "邮费",dataType = "BigDecimal")
    private BigDecimal postage;

    private List<IntegralCommoditySize> integralCommoditySizeList;

    private List<IntegralCommodityEvaluate> integralCommodityEvaluateList;

}
